package com.css.fxfzypg.manage.building.service;

import com.alibaba.fastjson.JSONObject;
import com.css.fxfzypg.manage.building.repository.entity.BuildingEntity;
import com.css.fxfzypg.manage.building.vo.BuildingParams;
import com.css.fxfzypg.manage.building.vo.BuildingVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;

public interface BuildingService {
    boolean saveBuilding(BuildingEntity buildingEntity) throws UnsupportedEncodingException;

    Map<String,Object> querySubmitOrNot(String submitFlag, String taskCode, int curPage, int pageSize, String userId);

    boolean updateIsSubmit(Map<String,String> map);

    BuildingEntity queryData(String id);

    boolean modifyData(BuildingEntity buildingEntity);

    Map<String, Object> queryBuildingData(HttpServletRequest request, BuildingParams queryParams, int curPage, int pageSize);

    boolean deleteBuilding(String ids);

    boolean saveAndSubmit(BuildingEntity buildingEntity) throws UnsupportedEncodingException;

    boolean modifyAndSubmit(BuildingEntity buildingEntity);

    Map<String, Object> getDataGroupByStructure(String taskCode,String userId) throws IllegalAccessException;

    List<BuildingParams> queryBuildingMap(BuildingParams queryParams);

    Map<String, Object> uploadBuilding(MultipartFile file) throws Exception;

    void exportBuilding(HttpServletResponse response, BuildingParams queryParams) throws IOException, ExecutionException, InterruptedException, IllegalAccessException;
}
